package com.ict.txmsv2.mapper;

import com.ict.txmsv2.dto.StudentInfoQueryDto;
import com.ict.txmsv2.model.ProjectEstablish;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author lht
 * @date 2021/4/22 - 15:42
 * @description: 课题立项dao
 */

public interface ProjectEstablishMapper {
    /**
     * 保存一个课题立项数据
     *
     * @param projectEstablish
     * @return
     */
    int save(@Param("ProjectEstablish") ProjectEstablish projectEstablish);

    /**
     * 获取课题立项列表
     * @param page
     * @param size
     * @param queryDto
     * @return
     */
    List<ProjectEstablish> list(@Param("page") Integer page, @Param("size") Integer size, @Param("queryDto") StudentInfoQueryDto queryDto);

    /**
     * 更新一条数据
     *
     * @param projectEstablish
     * @return
     */
    int update(@Param("projectEstablish") ProjectEstablish projectEstablish);

    /**
     * 通过id删除一条数据
     *
     * @param id
     * @return
     */
    @Delete("delete from project_establish where id = #{id}")
    int delete(@Param("id") Integer id);

    /**
     * 获取总条目
     * @param queryDto
     * @return
     */
    long getTotal(@Param("queryDto") StudentInfoQueryDto queryDto);

    /**
     * 批量插入
     * @param list
     * @return
     */
    int batchSave(@Param("list") List<ProjectEstablish> list);

    /**
     * 获取所有数据
     * @return
     */
    List<ProjectEstablish> getAllProjectEstablishInfo();
}
